package com.swn.cm.service;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.swn.common.util.DbHelper;
import com.swn.common.util.PageListData;
import com.swn.common.util.StringUtil;

@Service
public class TeacherService {
	
	@Autowired
	private DbHelper dbHelper;
	
	/**
	 * 查询教师列表
	 * 
	 * @param param
	 * @return List<Map<String,Object>>
	 * @throws Exception 
	 *
	 * @Author 郭昌
	 * @Date 2018年7月11日 下午5:43:48 
	 * @Note <这里是方法的备注>
	 * @company 济南舒卫能生物技术有限公司
	 */
	public List<Map<String, Object>> queryTeacherList(PageListData pageListData,Map<String, Object> param) throws Exception{
		StringBuilder sb = new StringBuilder();
		sb.append("select teacher_id,teachername,age,sex,classcode,scc.name as classname,createtime,updatetime,niming from shop_cm_teacher as act ,shop_cm_class as scc where act.classcode=scc.code");
		String teacherName = (String) param.get("teacherName");
		String nimingString = (String)param.get("niming");
		if(StringUtil.isNotEmpty(teacherName)){
			sb.append(" and teachername like '%"+teacherName+"%'");
		}
		if(StringUtil.isNotEmpty(nimingString)){
			sb.append(" and niming like '%"+nimingString+"%'");
		}
		return dbHelper.queryPageMapList(pageListData, sb.toString(), param);
	}
	
	/**
	 * 添加教师列表
	 * 
	 * @param param
	 * @return int
	 *
	 * @Author 郭昌
	 * @Date 2018年7月11日 下午5:44:14 
	 * @Note <这里是方法的备注>
	 * @company 济南舒卫能生物技术有限公司
	 */
	public int addTeacher(Map<String, Object> param){
		return dbHelper.saveMap(param, "shop_cm_teacher");
	}
	
	/**
	 * 获取全部班级信息（有效的）
	 * 
	 * @return List<Map<String,Object>>
	 *
	 * @Author 郭昌
	 * @Date 2018年7月12日 下午5:39:07 
	 * @Note <这里是方法的备注>
	 * @company 济南舒卫能生物技术有限公司
	 */
	public List<Map<String, Object>> queryClasses(){
		StringBuilder sb = new StringBuilder();
		sb.append("select id, code, name from shop_cm_class");
		return dbHelper.queryForList(sb.toString(), null);
	}
	
	/**
	 * 更新教师信息
	 * 
	 * @param param
	 * @return int
	 *
	 * @Author 郭昌
	 * @Date 2018年7月13日 上午9:05:25 
	 * @Note <这里是方法的备注>
	 * @company 济南舒卫能生物技术有限公司
	 */
	public int updateTeacher(Map<String, Object> param){
		return dbHelper.updateMap(param, "shop_cm_teacher");
	}
	
	/**
	 * 根据主键查找教师信息
	 * 
	 * @param id
	 * @return
	 * @throws Exception Map<String,Object>
	 *
	 * @Author 郭昌
	 * @Date 2018年7月13日 上午9:39:52 
	 * @Note <这里是方法的备注>
	 * @company 济南舒卫能生物技术有限公司
	 */
	public Map<String, Object> queryTeacherById(long id) throws Exception{
		StringBuilder sBuilder = new StringBuilder();
		sBuilder.append("select sct.age,sct.sex,sct.classcode,scc.name classname,sct.teachername,sct.niming from shop_cm_teacher sct,shop_cm_class scc where sct.classcode=scc.code and sct.teacher_id="+id);
		return dbHelper.queryForMap(sBuilder.toString());
	}
	
	/**
	 * 删除教师信息
	 * 
	 * @param id
	 * @return int
	 *
	 * @Author 郭昌
	 * @Date 2018年7月13日 上午10:13:39 
	 * @Note <这里是方法的备注>
	 * @company 济南舒卫能生物技术有限公司
	 */
	public int deleteTeacher(long id){
		Map<String, Object> map = new HashMap<String,Object>();
		map.put("teacher_id", id);
		return dbHelper.delete(map, "shop_cm_teacher");
	}
}
